package org.nanotek;

import java.io.Serializable;

/**
 * A configurations class, the Configuration is based on a "somewhere (which means under certain location)" persistent 
 * object, the class has the characteristic to be also persistent under a "persistent mechanism"
 * that is not necessary the same persistent mechanism of the Parameter(s) collection.
 * 
 * @author josecanova
 *
 * @param <T> -> Used to describe the which "Kind of Configuration" using the "Kong get" descriptor.
 * @param <P> -> The parameter(s) object, can represent a "Map Like" or just a single "attibuted based object POJO".
 * @param <K> -> The Key which is used to retrieve the configuration.
 * 
 */


public interface Configuration<T extends Kong<?> , P extends Base<?> , K extends Serializable> extends Kong<T> , Base<K>{
	public P getParameters(K baseKey);
}
